A Prototype of a Concurrent Behavior Monitoring Tool for Testing of Concurrent Programs
نویسندگان
چکیده
Testing of concurrent programs is much more difficult than that of sequential programs. A concurrent program behaves nondeterministically, that is, the program may produce different results with the same input data according to execution timings of the program. In testing of concurrent programs, test data must specify not only input data but also sequences of statements. Ordered Sequence Testing Criterion for length k (OSCk), which was proposed by the authors, requires execution of all sequences of length k of concurrency statements which cause concurrent actions in a concurrent program. A monitoring tool has been developed for applying the testing criterion OSCk to the testing of C concurrent programs on UNIX system. The tool measures coverage with regard to k-tuples of concurrency statements (OSCk) in source codes of a C concurrent program using a probe insertion method. The analysis of the tool’s output for a practical C concurrent program shows not only applicability of the tool for testing of concurrent program but also the necessity of a supporting tool for forcing execution of concurrency statements.
منابع مشابه
Bounded-Interference Sequentialization for Testing Concurrent Programs
Testing concurrent programs is a challenging problem: (1) the tester has to come up with a set of input values that may trigger a bug, and (2) even with a bug-triggering input value, there may be a large number of interleavings that need to be explored. This paper proposes an approach for testing concurrent programs that explores both input and interleaving spaces in a systematic way. It is bas...
متن کاملOrdered sequence testing criteria for concurrent programs and the support tool
Testing of programs is important to increase reliability of the programs. Coverage is a ratio of the number of worked test-events to all test-events, and it is used as a metric of testing sufficiency and reliability. The test-events are defined by a testing criterion. Some testing criteria are proposed for evaluating testing sufficiency of sequential programs. However, the criteria are inadequa...
متن کاملJava PathExplorer - A Runtime Veri cation Tool
We describe recent work on designing an environment, called Java PathExplorer, for monitoring the execution of Java programs. This environment facilitates the testing of execution traces against high level speci cations, including temporal logic formulae. In addition, it contains algorithms for detecting classical error patterns in concurrent programs, such as deadlocks and data races. An initi...
متن کاملJava Pathexplorer -a Runtime Veriication Tool
We describe recent work on designing an environment , called Java PathExplorer, for monitoring the execution of Java programs. This environment facilitates the testing of execution traces against high level speciications, including temporal logic formu-lae. In addition, it contains algorithms for detecting classical error patterns in concurrent programs, such as deadlocks and data races. An ini...
متن کاملPRELIMINARY VERSION SUBMITTED TO IEEE TRANSACTION ON SOFTWARE ENGINEERING 3 sequences
One approach to testing concurrent programs, called reachability testing, generates synchronization sequencesautomatically, and on-the-fly, without constructing any static models. In this paper, we present a general execution model forconcurrent programs that allows reachability testing to be applied to several commonly used synchronization constructs. We alsopresent a new method fo...
متن کامل